Skip to content

Method: OrNode(AbstractNode, AbstractNode)

1: package pruefskript.parser.nodes;
2:
3: import basic.PruefskriptConstants;
4: import pruefskript.CommunicationManager;
5: import pruefskript.parser.exceptions.CheckScriptException;
6: import pruefskript.parser.values.BooleanValue;
7:
8: /**
9: * OrNode.
10: *
11: * @author Group B5
12: *
13: */
14: public class OrNode extends AbstractBinaryOperationNode {
15:         /**
16:          * OrNode.
17:          *
18:          * @param operand1
19:          * AbstractNode
20:          * @param operand2
21:          * AbstractNode
22:          */
23:         public OrNode(final AbstractNode operand1, final AbstractNode operand2) {
24:                 super(operand1, operand2);
25:         }
26:
27:         @Override
28:         public String toString() {
29:                 return PruefskriptConstants.ORNODETITLE + PruefskriptConstants.BRACKET_OPEN
30:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
31:         }
32:
33:         @Override
34:         public boolean equals(final Object obj) {
35:                 return super.equals(obj) && obj instanceof OrNode;
36:
37:         }
38:
39:         @Override
40:         public int hashCode() {
41:                 return super.hashCode() + PruefskriptConstants.ORNODE_HASHCODE;
42:         }
43:
44:         /**
45:          * Operant 1 und 2 werden ausgewertet und deren boolscher Wert wird mit einem logischen Oder
46:          * verknueund als boolscher Wert zurueckgegeben.
47:          */
48:         @Override
49:         public BooleanValue interpret(final CommunicationManager mgr) throws CheckScriptException {
50:                 return new BooleanValue(this.getOperand1().interpret(mgr).toBooleanValue().getValue()
51:                                 || this.getOperand2().interpret(mgr).toBooleanValue().getValue());
52:         }
53: }